#pragma once
#include <game/Config.h>
#include <math/vector2.h>

ARELLO_GAME_NAMESPACE_DECL_START

namespace input {

class PointingDeviceInputReceiver
{
public:
	virtual void OnMouseClick(const math::Vector2 <float> &point) {}
	virtual void OnMouseDown(const math::Vector2 <float> &point) {}
	virtual void OnMouseUp(const math::Vector2 <float> &point) {}
	virtual void OnMouseMove(const math::Vector2 <float> &point) {}		// This method invoked when the mouse button is pressed

	virtual void OnSecondMouseDown(const math::Vector2 <float> &point) {}
	virtual void OnSecondMouseUp(const math::Vector2 <float> &point) {}
	virtual void OnSecondMouseMove(const math::Vector2 <float> &point) {}

	virtual void OnMouseEnter() {}
	virtual void OnMouseExit() {}
};

} // namespace input

ARELLO_GAME_NAMESPACE_DECL_END